// API测试工具
import { deviceApi } from '@/servers/device'

export const testDeviceApi = {
  // 测试获取设备列表
  async testGetDeviceList() {
    try {
      console.log('测试获取设备列表...')
      const response = await deviceApi.getDeviceList({
        pageNum: 1,
        pageSize: 10
      })
      console.log('设备列表响应:', response)
      if (response.code === 200) {
        const data = response.obj || response.data || {}
        console.log('解析后的数据:', data)
      }
      return response
    } catch (error) {
      console.error('获取设备列表失败:', error)
      throw error
    }
  },

  // 测试获取设备详情
  async testGetDeviceDetail(deviceId) {
    try {
      console.log(`测试获取设备详情: ${deviceId}`)
      const response = await deviceApi.getDeviceDetail(deviceId)
      console.log('设备详情响应:', response)
      return response
    } catch (error) {
      console.error('获取设备详情失败:', error)
      throw error
    }
  },

  // 测试新增设备
  async testAddDevice() {
    try {
      console.log('测试新增设备...')
      const deviceData = {
        deviceCode: 'TEST001',
        deviceName: '测试设备',
        deviceType: '测试类型',
        manufacturer: '测试厂商',
        installLocation: '测试位置',
        status: 1,
        responsiblePerson: '测试负责人',
        contactPhone: '13800138000'
      }
      const response = await deviceApi.addDevice(deviceData)
      console.log('新增设备响应:', response)
      return response
    } catch (error) {
      console.error('新增设备失败:', error)
      throw error
    }
  },

  // 运行所有测试
  async runAllTests() {
    console.log('开始API测试...')
    
    try {
      // 测试获取设备列表
      await this.testGetDeviceList()
      
      // 测试新增设备
      const addResult = await this.testAddDevice()
      
      // 如果有新增的设备，测试获取详情
      if (addResult && addResult.code === 200) {
        const data = addResult.obj || addResult.data || {}
        if (data.deviceId) {
          await this.testGetDeviceDetail(data.deviceId)
        }
      }
      
      console.log('所有API测试完成')
    } catch (error) {
      console.error('API测试失败:', error)
    }
  }
}

// 在浏览器控制台中可用的全局测试函数
if (typeof window !== 'undefined') {
  window.testDeviceApi = testDeviceApi
}
